home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 November / PCWNOV08.iso / Software / Freeware / Adobe Media Player 1.1 / adobe_media_player.air / AMP.swf / scripts / fl / video / FPADManager.as < prev    next >
Encoding:
Text File  |  2008-07-17  |  4.3 KB  |  106 lines

  1. package fl.video
  2. {
  3.    import flash.events.*;
  4.    import flash.net.URLLoader;
  5.    import flash.net.URLRequest;
  6.    
  7.    use namespace flvplayback_internal;
  8.    
  9.    public class FPADManager
  10.    {
  11.       public static const VERSION:String = "2.1.0.17";
  12.       
  13.       public static const SHORT_VERSION:String = "2.1";
  14.       
  15.       flvplayback_internal var _uriParam:String;
  16.       
  17.       flvplayback_internal var _parseResults:ParseResults;
  18.       
  19.       private var _owner:INCManager;
  20.       
  21.       flvplayback_internal var rtmpURL:String;
  22.       
  23.       flvplayback_internal var _url:String;
  24.       
  25.       flvplayback_internal var xmlLoader:URLLoader;
  26.       
  27.       flvplayback_internal var xml:XML;
  28.       
  29.       public function FPADManager(param1:INCManager)
  30.       {
  31.          super();
  32.          _owner = param1;
  33.       }
  34.       
  35.       flvplayback_internal function connectXML(param1:String, param2:String, param3:String, param4:ParseResults) : Boolean
  36.       {
  37.          flvplayback_internal::_uriParam = param2;
  38.          flvplayback_internal::_parseResults = param4;
  39.          flvplayback_internal::_url = param1 + "uri=" + flvplayback_internal::_parseResults.protocol;
  40.          if(flvplayback_internal::_parseResults.serverName != null)
  41.          {
  42.             flvplayback_internal::_url += "/" + flvplayback_internal::_parseResults.serverName;
  43.          }
  44.          if(flvplayback_internal::_parseResults.portNumber != null)
  45.          {
  46.             flvplayback_internal::_url += ":" + flvplayback_internal::_parseResults.portNumber;
  47.          }
  48.          if(flvplayback_internal::_parseResults.wrappedURL != null)
  49.          {
  50.             flvplayback_internal::_url += "/?" + flvplayback_internal::_parseResults.wrappedURL;
  51.          }
  52.          flvplayback_internal::_url += "/" + flvplayback_internal::_parseResults.appName;
  53.          flvplayback_internal::_url += param3;
  54.          flvplayback_internal::xml = new XML();
  55.          flvplayback_internal::xmlLoader = new URLLoader();
  56.          flvplayback_internal::xmlLoader.addEventListener(Event.COMPLETE,flvplayback_internal::xmlLoadEventHandler);
  57.          flvplayback_internal::xmlLoader.addEventListener(IOErrorEvent.IO_ERROR,flvplayback_internal::xmlLoadEventHandler);
  58.          flvplayback_internal::xmlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,flvplayback_internal::xmlLoadEventHandler);
  59.          flvplayback_internal::xmlLoader.load(new URLRequest(flvplayback_internal::_url));
  60.          return false;
  61.       }
  62.       
  63.       flvplayback_internal function xmlLoadEventHandler(param1:Event) : void
  64.       {
  65.          var proxy:String = null;
  66.          var e:Event = param1;
  67.          try
  68.          {
  69.             if(e.type != Event.COMPLETE)
  70.             {
  71.                _owner.helperDone(this,false);
  72.             }
  73.             else
  74.             {
  75.                flvplayback_internal::xml = new XML(flvplayback_internal::xmlLoader.data);
  76.                if(flvplayback_internal::xml == null || flvplayback_internal::xml.localName() == null)
  77.                {
  78.                   throw new VideoError(VideoError.INVALID_XML,"URL: \"" + flvplayback_internal::_url + "\" No root node found; if url is for an flv it must have .flv extension and take no parameters");
  79.                }
  80.                if(flvplayback_internal::xml.localName() != "fpad")
  81.                {
  82.                   throw new VideoError(VideoError.INVALID_XML,"URL: \"" + flvplayback_internal::_url + "\" Root node not fpad");
  83.                }
  84.                proxy = null;
  85.                if(flvplayback_internal::xml.proxy.length() > 0 && flvplayback_internal::xml.proxy.hasSimpleContent() && flvplayback_internal::xml.proxy.*[0].nodeKind() == "text")
  86.                {
  87.                   proxy = flvplayback_internal::xml.proxy.*[0].toString();
  88.                }
  89.                if(proxy == null)
  90.                {
  91.                   throw new VideoError(VideoError.INVALID_XML,"URL: \"" + flvplayback_internal::_url + "\" fpad xml requires proxy tag.");
  92.                }
  93.                flvplayback_internal::rtmpURL = flvplayback_internal::_parseResults.protocol + "/" + proxy + "/?" + flvplayback_internal::_uriParam;
  94.                _owner.helperDone(this,true);
  95.             }
  96.          }
  97.          catch(err:Error)
  98.          {
  99.             _owner.helperDone(this,false);
  100.             throw err;
  101.          }
  102.       }
  103.    }
  104. }
  105.  
  106.